module(
    name = "protoc-gen-validate",
    version = "1.2.1.bcr.1",
    compatibility_level = 1,
    repo_name = "com_envoyproxy_protoc_gen_validate",
)

bazel_dep(
    name = "bazel_skylib",
    version = "1.4.2",
)
bazel_dep(
    name = "gazelle",
    version = "0.37.0",
    repo_name = "bazel_gazelle",
)
bazel_dep(
    name = "protobuf",
    version = "29.0",
    repo_name = "com_google_protobuf",
)
bazel_dep(
    name = "re2",
    version = "2021-09-01",
    repo_name = "com_googlesource_code_re2",
)
bazel_dep(
    name = "rules_cc",
    version = "0.0.9",
)
bazel_dep(
    name = "rules_go",
    version = "0.48.0",
    repo_name = "io_bazel_rules_go",
)
bazel_dep(
    name = "rules_java",
    version = "5.5.0",
)
bazel_dep(
    name = "rules_proto",
    version = "6.0.0",
)
bazel_dep(
    name = "rules_python",
    version = "0.40.0",
)
# -- bazel_dep definitions -- #

go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.21.1")

go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_iancoleman_strcase",
    "com_github_lyft_protoc_gen_star_v2",
    "org_golang_google_protobuf",
    "org_golang_x_net",
)

PYTHON_VERSIONS = [
    "3.9",
    "3.10",
    "3.11",
    "3.12",
    "3.13",
]
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
[
    python.toolchain(
        is_default = python_version == PYTHON_VERSIONS[-1],
        python_version = python_version,
    )
    for python_version in PYTHON_VERSIONS
]
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
[
    pip.parse(
        hub_name = "pgv_pip_deps",
        python_version = python_version,
        requirements_lock = "//python:requirements.txt",
    )
    for python_version in PYTHON_VERSIONS
]
use_repo(pip, "pgv_pip_deps")
